using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using LibreriaCommon;
using LibreriaDS;
using LibreriaBusiness;
using LibreriaHelpers;
using LibreriaWC;
using SistemaControlTraficoLibBusiness;
using SistemaControlTraficoLibDS;

public class DDLHelper
{
    private DDLHelper()
    {
    }

    public static void CargarLocalidades(ddlBase ddl, int ProvinciaID)
    {
        CargarLocalidades(ddl,ProvinciaID, 0);
    }

    public static void CargarLocalidades(ddlBase ddl, int ProvinciaID,object valor)
    {
        using (boLocalidad bo = new boLocalidad(SessionHelper.GetSecurityInfo()))
        {
            using (dsLocalidad ds = bo.FindByEstado(Constants.EstadosEnum.Activo, ProvinciaID))
            {
                ddl.Fill(ds.Localidad, "LocalidadNombre", "LocalidadID");
                ddl.SelectByValue(valor.ToString());
            }
        }
    }

    public static void CargarTipoMovil(ddlBase ddl)
    {
        CargarTipoMovil(ddl, 0);
    }

    public static void CargarTipoMovil(ddlBase ddl, object valor)
    {
        using (boTipoMovil bo = new boTipoMovil(SessionHelper.GetSecurityInfo()))
        {
            using (dsTipoMovil ds = bo.FindByEstado(Constants.EstadosEnum.Activo))
            {
                ddl.Fill(ds.TipoMovil, "TipoMovilNombre", "TipoMovilID");
                ddl.SelectByValue(valor.ToString());
            }
        }
    }

    public static void CargarProvincia(ddlBase ddl)
    {
        CargarProvincia(ddl, 0);
    }


    public static void CargarProvincia(ddlBase ddl, object valor)
    {
        using (boProvincia bo = new boProvincia(SessionHelper.GetSecurityInfo()))
        {
            using (dsProvincia ds = bo.FindByEstado(Constants.EstadosEnum.Activo))
            {
                ddl.Fill(ds.Provincia, "ProvinciaNombre", "ProvinciaID");
                ddl.SelectByValue(valor.ToString());
            }
        }
    }

    public static void CargarCalle(ddlBase ddl)
    {
        CargarCalle(ddl, 0);
    }


    public static void CargarCalle(ddlBase ddl, object valor)
    {
        using (boCalle bo = new boCalle(SessionHelper.GetSecurityInfo()))
        {
            using (dsCalle ds = bo.FindByEstado(Constants.EstadosEnum.Activo))
            {
                ddl.Fill(ds.Calle, "CalleNombre", "CalleID");
                ddl.SelectByValue(valor.ToString());
            }
        }
    }

    public static void CargarCliente(ddlBase ddl)
    {
        CargarCliente(ddl, 0);
    }


    public static void CargarCliente(ddlBase ddl, object valor)
    {
        using (boCliente bo = new boCliente(SessionHelper.GetSecurityInfo()))
        {
            using (dsCliente ds = bo.FindByEstado(Constants.EstadosEnum.Activo))
            {
                ddl.Fill(ds.Cliente, "ClienteRazonSocial", "ClienteID");
                ddl.SelectByValue(valor.ToString());
            }
        }
    }

    public static void CargarPartidos(ddlBase ddl)
    {
        CargarPartidos(ddl, 0);
    }

    public static void CargarPartidos(ddlBase ddl, object valor)
    {
        using (boPartido bo = new boPartido(SessionHelper.GetSecurityInfo()))
        {
            using (dsPartido ds = bo.FindByEstado(Constants.EstadosEnum.Activo))
            {
                ddl.Fill(ds.Partido, "PartidoNombre", "PartidoID");
                ddl.SelectByValue(valor.ToString());
            }
        }
    }

    public static void CargarLocalidadesPorPartido(ddlBase ddl, int partidoId)
    {
        CargarLocalidadesPorPartido(ddl, partidoId, 0);
    }

    public static void CargarLocalidadesPorPartido(ddlBase ddl, int partidoId, object valor)
    {
        using (boLocalidad bo = new boLocalidad(SessionHelper.GetSecurityInfo()))
        {
            using (dsLocalidad ds = bo.FindByPartido(partidoId))
            {
                ddl.Fill(ds.Localidad, "LocalidadNombre", "LocalidadID");
                ddl.SelectByValue(valor.ToString());
            }
        }
    }

    public static void CargarViajesEstados(ddlBase ddl)
    {
        CargarViajesEstados(ddl, 0);
    }

    public static void CargarViajesEstados(ddlBase ddl, object valor)
    {
        using (boViajeEstado bo = new boViajeEstado(SessionHelper.GetSecurityInfo()))
        {
            using (dsViajeEstado ds = bo.FindByEstado(Constants.EstadosEnum.Activo))
            {
                ddl.Fill(ds.ViajeEstado, "ViajeEstadoDescripcion", "ViajeEstadoID");
                ddl.SelectByValue(valor.ToString());
            }
        }
    }

    public static void CargarMoviles(ddlBase ddl)
    {
        CargarMoviles(ddl, 0);
    }

    public static void CargarMoviles(ddlBase ddl, object valor)
    {
        using (boMovil bo = new boMovil(SessionHelper.GetSecurityInfo()))
        {
            using (dsMovil ds = bo.FindByEstado(Constants.EstadosEnum.Activo))
            {
                ddl.Fill(ds.Movil, "MovilNumero", "MovilID");
                ddl.SelectByValue(valor.ToString());
            }
        }
    }

    public static void CargarMovilesFaltantes(ddlBase ddl)
    {
        CargarMovilesFaltantes(ddl, 0);
    }
    

    public static void CargarMovilesFaltantes(ddlBase ddl, object valor)
    {
        using (boMovil bo = new boMovil(SessionHelper.GetSecurityInfo()))
        {
            using (DataSet ds = bo.FindByFaltante())
            {
                ddl.Fill(ds.Tables[0], "MovilNumero", "MovilID");
                ddl.SelectByValue(valor.ToString());
            }
        }
    }

    public static void CargarChoferes(ddlBase ddl)
    {
        CargarCHoferes(ddl, 0);
    }

    public static void CargarCHoferes(ddlBase ddl, object valor)
    {
        using (boChofer bo = new boChofer(SessionHelper.GetSecurityInfo()))
        {
            using (DataSet ds = bo.FindByEstado(Constants.EstadosEnum.Activo))
            {
                ddl.Fill(ds.Tables[0], "ChoferApellido", "ChoferID");
                ddl.SelectByValue(valor.ToString());
            }
        }
    }
    public static void CargarMovilesDisponiblesPorTipo(ddlBase ddl, int tipomovilid)
    {
        CargarMovilesDisponiblesPorTipo(ddl, 0, tipomovilid);
    }

    public static void CargarMovilesDisponiblesPorTipo(ddlBase ddl, object valor, int tipomovilid)
    {
        using (boMovil bo = new boMovil(SessionHelper.GetSecurityInfo()))
        {
            using (DataSet ds = bo.FindDisponibleByTipo(tipomovilid))
            {
                ddl.Fill(ds.Tables[0], "MovilNumero", "MovilID");
                ddl.SelectByValue(valor.ToString());
            }
        }
    }
}